The invention concerns exchange of messages in telecommunication equipment, where several processes communicate with one another through a common message bus.
In relatively complex distributed equipment environments, such as telecommunication equipment and computer systems, a rack is used into which sub-racks are pushed. The sub-racks again contain several plug-in units, each one formed by a circuit board and its components. The rack contains a backplane having different backplane buses. The purpose of these is to connect the different units electrically and mechanically with each other and to allow quick communication between the units. Backplane buses are also used in systems formed by several equipment sub-racks, such as e.g. in the nodal equipment of a digital telecommunication system, where data and clock signals must be transmitted between equipment sub-racks.
An example of a complex piece of nodal equipment of this kind is the telephone exchange. FIG. 1 is a reduced block diagram of a telephone exchange. Subscriber lines are connected to the exchange through a subscriber line interface unit, which in the case of an analog subscriber line performs AD conversion and adapts the signalling on the subscriber line to be suitable for the exchange. On the other side of the exchange there are e.g. 2 Mbit/s trunk line interfaces performing the electric interface and synchronising interface between the trunk lines and the exchange. The switching field performs switching of a call in such a way that a certain subscriber line channel is connected with a certain trunk line channel. Signalling channels and internal data channels of the exchange are also connected through the switching field.
The call control determines how calls are connected through the switching field. The call control is the heart of the system and, depending on the size of the exchange, it contains a large number of different distributed call control functions, of which just a few are shown in FIG. 1. The call control is responsible for all decision-making. The OandM (Operation and Maintenance) processes such functions which relate to the operation and maintenance of the exchange and through this the operator is in connection with the exchange by using MML (Man Machine Interface) language.
As an example of distributed call control functions the SSIG (Subscriber Signalling) unit may be mentioned, which controls signalling on the subscriber line and generates the charging pulses of the subscriber""s call. The signalling relating to trunk line channels is performed by a LSIG (Line Signalling) unit. Signalling in accordance with CCITT No. 7 on trunk lines is performed by a common channel signalling (C SSIG) unit. Big exchanges have a charging unit CHARG, which collects and stores the call-specific data needed for charging for the call. A statistics unit STAT collects and stores the data relating to traffic and charging. The Central Memory includes semi -permanent data including subscriber data, charging information, signalling and routing information and the configuration data of the
All the units mentioned above are formed by plug-in units, the card of which is provided at least with a CPU processor, a DC/DC converter and the necessary memories. The units are interconnected through a common message bus, and for this purpose the units have a message bus interface unit attending to the matching of the unit and the message bus to one another.
The communication between units or, more exactly, between their CPU processors, takes place on a message basis: when a unit needs a service from another unit, it will send a service request message, in response to which this other unit will send a return message. Some information may be requested in the request message or the other unit is asked to perform some functions and to send the results in the reply message. For example, the SSIG (Subscriber Signalling) unit requests subscriber information of the central memory and in response to the request the central unit sends subscriber information through the message bus. In this case, the SSIG requests the service while the central memory renders the service. In this way, each unit may both render a service to the other units and request a service from the others.
The request and the form and structure of the reply message are exactly defined. The request message and the return message form a message couple, the structure of which always remains the same. Obviously, since there are so many units, there are also many message couples however, each couple being exactly defined in advance.
Due to the solidity of message pairs, that is, due to the message interface, both the service provider""s and the service requester""s views of the service are the same. The requester knows exactly what services are offered and what is the structure of the service. It is assumed with reference to FIG. 2 that the service requester, e.g. SSIG, only wants to know if subscriber A has call forwarding. The length of this information is e.g. one byte. It knows that this information is included in a certain service, so it sends such a standard message to this service, in whose message couple of a standard structure it knows the concerned information to be included. The service provider searches the whole file wherein the requested information is included and sends it to the service requester. In the return message the requester does receive the one piece of information which it needs, but, in addition, it also receives all possible subscriber information about subscriber A or at least the information known to the service provider. Since the message structure is entirely determined, the subscriber signalling unit SSIG knows how to distinguish the information it wants from the information in the message.
A problem of the present message communication emerges from the examples mentioned above. In order to learn only one thing from the return message, the service requester, due to the fixed structure of the message, must receive also all other information included in the return message, even if it does not need that information. In order to get to know just one byte, 1000 bytes must be received in the case described in our example. As a result of this, a very large quantity of unnecessary information is transmitted on the message bus. This loads the bus unnecessarily and may result in a situation where the message bus will become a bottleneck in the operation of the exchange.
It is true that it is possible in systems of today to reduce the load on the message bus by creating new fixed message pairs, wherein the reply messages contain only the information specified in the request message. However, this is a cumbersome method, since the number of message pairs grows to become very high and, in addition, corresponding changes must be made in the programme code of the service provider and producer. In addition, changes must be made in that interface behind which the common information structures of all units are located and which all units perceive as the same.
It is an objective of this invention to bring about an arrangement where drawbacks of the present arrangement do not occur. The established objective is achieved by a system the characteristic features of which are presented in the independent claims.
The procedure according to the invention is such that the service requester states exactly in the request message what it wants to know. As the service requester knows the information structure of the service provider, that is, the position and data field length of each individual piece of information are known, only the position and length are stated in the request message. When the service provider has received the request message, it moves the pointer to the stated position and reads data from thereon forward for as long as the defined data field length. Thereupon it forms a reply message and places only this specified piece of information therein. If the service requester has stated several positions and lengths in his request message, the service provider will fetch this information only from its data structure and send it in the reply message to the message bus. Thus both the request message and the reply message form a dynamic message pair. When it is desired to send the whole service, the whole message is sent fixedly structured, as is done also in state-of-the-art systems, but when a partial service is requested, the messages have a dynamic structure and length which are known to the service requester and provider.
This arrangement has numerous advantages: the load on the message bus is reduced to a fraction of the present load and the load on the CPU processors of the units is also reduced. Even for providing a big service just one dynamic message couple is sufficient, and the service provider may concentrate in its code on showing with one message the entire available service to the other units. It is not necessary to tailor any individual view for each service requester, but the service provider may show that this is all I know, you may ask what you like.